package utils

import (
	"fmt"
	"os"
	"path/filepath"
)

func GetRootContents() string {
	// 获取当前工作目录
	wd, err := os.Getwd()
	if err != nil {
		fmt.Printf("Failed to get current working directory: %v\n", err)
		return ""
	}

	// 从当前工作目录开始查找 go.mod 文件
	rootDir := wd
	for {
		_, err := os.Stat(filepath.Join(rootDir, "go.mod"))
		if err == nil {
			// 找到了 go.mod 文件，这里就是项目根目录
			break
		}
		// 向上移动一层目录
		parentDir := filepath.Dir(rootDir)
		// 如果已经到达文件系统的根目录，停止查找
		if parentDir == rootDir {
			fmt.Println("go.mod file not found")
			return ""
		}
		rootDir = parentDir
	}
	return rootDir
}
